/*
* BlockFrequency.h
* Last edited: 21.07.2014
* Author: David Noack
*/

#pragma once

#include "NistTest.h"
#include <boost\math\special_functions\gamma.hpp>

/**
\class BlockFrequency
\brief Implementation of the Nist Blockfrequency-test
*/
class BlockFrequency  : public NistTest 
{

	public:
		/** Constructor
		\param bitArray Represents the random bits which have to be tesed.
		\param bitArraySize The size of bitArry in bits.*/
		BlockFrequency(bool* bitArray, int bitArraySize);

		/**Destructor*/
		~BlockFrequency(){};

		/**Does nothing in Blockfrequency*/
		void start(){};

		/**Executes the Blockfrequency-test at the bitArray, given by the constructor.
		\param blockSize The size one block within the bitArray
		\param size The number of bits you want to test within the bitArray.*/
		double execute(int blockSize, int size);

	private:

		/**Represents the block size*/
		int m;
};

